home *** CD-ROM | disk | FTP | other *** search
/ Internet Warrior 1993 July / Internet Warrior No. 1 July 1993 - Austin Code Works.ISO / tcpip / slip / sliphelp.txt < prev    next >
Encoding:
Text File  |  1993-04-04  |  46.7 KB  |  1,120 lines

  1.  
  2. The following file is the help file for SLIPDIAL, a BETA product
  3. of the University of Minnesota Computing and Information Services.
  4. Until its release, we cannot be held accountable for its behavior
  5. if you wish to try it out.  YOU HAVE BEEN WARNED.
  6.  
  7. Special Notes: 
  8.  
  9. Beginning with version 1.00b1 we are employing
  10. the X00 device drivers by Raymond Gwinn.  Using this product may
  11. involve running an installation disk or some simple editing on your
  12. part.  Please read the section "BEFORE YOU BEGIN:X00" for more information.
  13.  
  14. SLIPDIAL
  15.  
  16.  
  17. Copyright (C) 1991 University of Minnesota CIS
  18. Written by Bob Alberti:  comments and questions to
  19.  
  20. slip@boombox.micro.umn.edu.
  21.  
  22.  
  23. SLIP stands for Serial Line Internet Protocol, and allows a computer to
  24. act as a TCP/IP node using a modem over the telephone line.  This would
  25. make programs such as Popmail, Gopher, Telnet or FTP available for use
  26. from home, or anywhere that a LAN connection may not be available.
  27.  
  28. This is accomplished by way of a "packet driver":  a program which handles
  29. communications between a computer and the network.  The SLIP8250 packet
  30. driver is written specially for SLIP communications, and uses your serial
  31. port instead of a network connection to communicate with the network.  In
  32. order for this to work, a network must have a "SLIP server", a program
  33. which monitors an incoming modem for SLIP connections and translates the
  34. modem signals into standard TCP/IP network signals.  Additionally, you
  35. may have some form of security system (such as TACACS) controlling who
  36. can connect to a SLIP server and receive an IP address.
  37.  
  38.  
  39.  
  40.  
  41. CONCEPT
  42.  
  43.  
  44. Until now, using SLIP was difficult.  First you had to call a SLIP modem
  45. pool, using a your modem and a communications program such as PROCOMM.
  46. Then you would tell the modem pool that you wanted to use SLIP, and
  47. receive an IP address to use for the session.  Then you would exit the
  48. communications program, being careful not to disconnect your modem (by
  49. leaving DTR on for you experts), and edit a configuration file, adding
  50. your IP address to the configuration.  Finally, you would load your packet
  51. driver and you could use Telnet or FTP.
  52.  
  53. This was very cumbersome.
  54.  
  55. The SLIPDIAL program is designed to automatically connect to a local SLIP
  56. server, configuring your computer and loading the SLIP8250 packet driver.
  57.  
  58. Ideally you can enable the use of such programs as Telnet and FTP simply
  59. by using the command:
  60.  
  61.      SLIPDIAL
  62.  
  63. and be automagically connected.
  64.  
  65.  
  66.  
  67. CONTENTS
  68.  
  69. The Main Program:
  70.  
  71.   SLIPDIAL.EXE -- the main program.
  72.  
  73. The Documentation:
  74.  
  75.   SLIPDIAL.HLP -- short help file for SLIPDIAL.
  76.  
  77.   SLIPHELP.TXT -- this file, long help for SLIPDIAL.
  78.  
  79.   CHANGES      -- the most recent changes to SLIPDIAL.
  80.  
  81. Scripts:
  82.  
  83.   DEFAULT.SLP  -- a default SLIPDIAL script.  SLIPDIAL uses a simple command
  84.   language (see SCRIPT COMMANDS below) in order to customize connections to
  85.   different SLIP servers.  If you are not connecting to the University of
  86.   Minnesota's modem pool, you may need to customize this script.
  87.  
  88.   GENERIC.SLP  -- initially identical to DEFAULT.SLP, GENERIC.SLP can serve
  89.   as a template when customizing your SLIPDIAL scripts.  Make changes to
  90.   GENERIC.SLP and test it using the command
  91.  
  92.     SLIPDIAL -s generic.slp 
  93.  
  94.   which is explained further in the COMMAND FORMAT section below.
  95.  
  96.   ADI100.SLP   -- a specialized SLIPDIAL script for use with the University
  97.   of Minnesota digitized telephone system.  If this is the means by which you
  98.   will be regularly connecting to SLIP service, then copy this file on top of
  99.   the DEFAULT.SLP file with this command
  100.  
  101.     COPY ADI100.SLP DEFAULT.SLP
  102.  
  103.   and you will use this script automatically.
  104.  
  105.   HANGUP.SLP   -- a script which is used to shut down SLIPDIAL when finished.
  106.   It is usually invoked by a batch file, but the command to activate it by
  107.   hand is 
  108.  
  109.     SLIPDIAL -s HANGUP.SLP
  110.  
  111. Support programs:
  112.  
  113.   SLIP8250.COM, PKTCHK.COM and TERMIN.COM, plus other TCP/IP programs
  114.   included in NCSA Telnet from the University of Illinois, Urbana-Champaigne.
  115.   This package can accessed by anonymous FTP to zaphod.ncsa.uiuc.edu.  You
  116.   will need to customize CONFIG.TEL to use either BOOTP or an IP address which
  117.   is received from your SLIP server and inserted into CONFIG.TEL.  See the
  118.   COMMUNICATIONS and BEFORE YOU BEGIN sections below.
  119.  
  120. Communication drivers:
  121.  
  122.   X00.SYS was written by Raymond Gwinn and is distributed here with the 
  123.   author's permission.  CONFIG.X00 contains a line which must be added
  124.   to the root-level CONFIG.SYS file.  This line references X00.SYS, which
  125.   in turn must be in the root directory.  If you must set this up by hand,
  126.   here are the commands to execute (assuming that X00.SYS and CONFIG.X00 
  127.   are in the current directory):
  128.    
  129.     COPY X00.SYS \
  130.     COPY CONFIG.X00 \
  131.     CD \
  132.     TYPE CONFIG.X00 >> CONFIG.SYS
  133.  
  134.   and then reboot the computer.  
  135.    
  136.  
  137. BEFORE YOU BEGIN
  138.  
  139. X00
  140.  
  141.   The current version (1.00b1 and greater) of SLIPDIAL uses Raymond Gwinn's
  142.   X00 serial device driver (X00.SYS).  The X00.SYS program handles the
  143.   communications between SLIPDIAL and the modem until SLIPDIAL has finished
  144.   running, after which it is deactivated.
  145.  
  146.   The program X00.SYS is included in the SLIPDIAL.ZIP package, and is
  147.   automatically set up for you if you used the installation program.  However
  148.   it is possible that you obtained SLIPDIAL by some other means, or that you
  149.   wish to check to make sure everything is in place, so setup instructions
  150.   follow.
  151.  
  152.   Setting up X00 is easy, simply involving adding a line to your CONFIG.SYS
  153.   file and making the program available.
  154.  
  155.   To CONFIG.SYS, add the line:
  156.  
  157.      DEVICE=\X00.SYS E
  158.  
  159.   and then make sure the file X00.SYS is located in the root directory of your
  160.   boot disk.   
  161.  
  162.   Upon rebooting the computer, the X00.SYS program will automatically be
  163.   loaded into memory, ready for SLIPDIAL to use.  This program should not
  164.   interfere with any other programs, and is quite small.  However, if you
  165.   wish to remove it, change the line in CONFIG.SYS to read
  166.    
  167.      REM DEVICE=\X00.SYS E
  168.  
  169.   This will cause the line to be ignored, but make it easy to add X00.SYS
  170.   back in at a later date.
  171.  
  172.   If you are using more than one COM port on your computer (for instance, if
  173.   you have an internal modem, a serial mouse, and an external 25-pin modem
  174.   port) you may wish to change the line in config.sys to read
  175.  
  176.      DEVICE=\X00.SYS # E
  177.  
  178.   Where # equals the number of serial devices available.  Refer to Appendix A
  179.   for more information concerning other command-line options to help you fine-
  180.   tune your X00 driver.
  181.  
  182.  
  183.  
  184. CONFIG.TEL
  185.  
  186. Myip
  187.  
  188.   Another item which ought to be in place but which you may wish to check, is
  189.   the CONFIG.TEL file in the \NCSA directory.  This file is used by Telnet or
  190.   other NCSA programs.  This file should come correctly preconfigured for the
  191.   University of Minnesota.  However, if you need to change it, here's what
  192.   you need to know.
  193.  
  194.   The first line to check is the "myip=" line.  If BOOTP (see COMMUNICATIONS)
  195.   IS available for your network, the line
  196.  
  197.      myip=BOOTP
  198.  
  199.   should appear in this file.
  200.  
  201.   If BOOTP is NOT available, the line
  202.  
  203.      myip=
  204.  
  205.   should appear.  In this case, you will need to run SLIPDIAL with the -c
  206.   parameter (see below).  If you are using SLIPDIAL at the University of 
  207.   Minnesota, BOOTP is available.  If you are using SLIPDIAL elsewhere, 
  208.   and are unsure as to what to do, assume that BOOTP is NOT available.  
  209.  
  210.   SLIPDIAL will look for a file named CONFIG.SLP, which should be a copy
  211.   of CONFIG.TEL with the "myip= " line.  Upon encountering the ADDRESS
  212.   script command (see below), SLIPDIAL will parse out the IP address from
  213.   the server, and combine CONFIG.SLP with the IP address to produce a
  214.   CONFIG.TEL file in the current directory.
  215.  
  216. Gateways and Nameservers
  217.   
  218.   At the end of the CONFIG.TEL file are two entries which are very important.
  219.   The first entry is the Nameserver entry.  A Nameserver is a computer which
  220.   changes human-readable computer names like "boombox.micro.umn.edu" into
  221.   computer-readable numeric names (called IP addresses) such as 134.84.130.95.
  222.   The only way to get from a name to a number is by asking the Nameserver,
  223.   but then needs the Nameserver's IP address in advance (to avoid a chicken-
  224.   and-egg problem).  This line provides that information.  If you are not
  225.   accessing your network at the University of Minnesota, you'll need to change
  226.   this entry to the nameserver for your own network in order for Telnet and
  227.   FTP to work with SLIP.
  228.  
  229.      name=ns.unet.umn.edu; hostip=134.84.84.84 nameserver=1
  230.      name=nss.unet.umn.edu; hostip=128.101.101.101 nameserver=2
  231.  
  232.   Notice that there are two lines, because the second is a backup server in
  233.   case the first should fail.  Also, the names listed are meaningless 
  234.   since only the hostip addresses for these entries are used.
  235.  
  236.   The second entry is the Gateway, which is the computer that routes your 
  237.   messages out onto the main portion of the network (called the "backbone").
  238.   The Gateway should be easy to determine if you first obtain your SLIP
  239.   address.  For whatever address you get, the Gateway should be:
  240.     
  241.      SLIP Address:  123.45.67.89     Gateway: 123.45.67.254
  242.  
  243.   And this gateway should then be valid for all SLIP addresses on a given
  244.   network.  For the University of Minnesota this line should read
  245.   
  246.      name=dialup-slip-1-0.gw.umn.edu; hostip=134.84.101.254 gateway=1
  247.  
  248.   Again, the name entry is not used.
  249.   
  250.   
  251. WHAT SLIPDIAL DOES
  252.  
  253.  
  254. When establishing a SLIP session your computer is always in one of three
  255. states:
  256.  
  257. 1) DISCONNECTED:  using the modem to make a connection.
  258.  
  259. 2) CONNECTED: registering with the SLIP server.
  260.  
  261. 3) CONFIGURATION: configuring PC and loading SLIP packet driver.
  262.  
  263. In the initial DISCONNECTED state, communications through the serial port
  264. go to the modem, and the commands you type are echoed from the modem.  Once
  265. the program reaches the CONNECTED state, commands are no longer echoed from
  266. the modem -- it "passes through" all data, becoming invisible to the
  267. communication process.
  268.  
  269. One changes from the DISCONNECTED to the CONNECTED state by using
  270. the "CONNECT" command (see SCRIPT COMMANDS).  For instance, if
  271. one receives the line "CONNECTED" from the modem when carrier is
  272. established, the script commands
  273.  
  274.      WAITFOR "CONNECT" 5
  275.      IF "CONNECT"
  276.          CONNECT
  277.          "Connected to server"
  278.      ELSE
  279.          "Could not connect"
  280.          HALT
  281.      ENDIF
  282.  
  283. tell SLIPDIAL that the program is now in state #2, the CONNECTED state.
  284. Note that if the computer does not receive "CONNECT", it will stop running
  285. SLIPDIAL after printing the message "Could not connect".
  286.  
  287. Similarly, the ADDRESS <string> command places the program into the
  288. CONFIGURATION state.  "<string>" is the string surrounding the IP address.  
  289. For instance, if your SLIP server responds to a successful SLIP request
  290. with the string
  291.  
  292.      slip
  293.      Entering SLIP mode.
  294.      Your IP address is 123.456.78.90, MTU 1524 bytes.
  295.  
  296. then the command
  297.  
  298.      ADDRESS Your IP address is *, MTU
  299.  
  300. will match the string surrounding the IP address itself (note that newline
  301. characters are represented by \n's as in the 'C' language).
  302.  
  303. The actual address (123.456.78.90) will then be parsed out of the input
  304. stream and used for configuration.  However, if your SLIP server employs
  305. BOOTP configuration, the ADDRESS command may not be needed.
  306.  
  307. In the CONFIGURATION state, SLIPDIAL takes either one or two steps to
  308. prepare your computer to use SLIP (see COMMUNICATIONS):
  309.  
  310. Step 1: When the SLIPDIAL enters the CONFIGURATION state, it will determine
  311. whether BOOTP is available by checking whether the -c parameter was
  312. specified in the SLIPDIAL command (see COMMAND FORMAT below).
  313.  
  314.   If -c was NOT specified, then BOOTP is available, and the program proceeds 
  315.   to the next step.
  316.  
  317.   If -c was specified, BOOTP is NOT available.  SLIPDIAL will open CONFIG.SLP
  318.   (or whatever file was specified) and will read until the "myip=" line is
  319.   found.  It will then insert the IP address into the file, and copy the
  320.   whole thing into a new CONFIG.TEL file.  This file will be read by the NCSA
  321.   utility programs in order for them to obtain their IP address.
  322.  
  323. Step 2: SLIPDIAL will load the packet driver (see COMMUNICATIONS) into
  324. memory (called "launching" the packet driver).  In order for this to
  325. be accomplished most efficiently, the SLIPDIAL program must itself be
  326. removed from memory.  Therfore one can either launch the packet driver
  327. with the "QUIT" command (see SCRIPT COMMANDS) when exiting SLIPDIAL, or
  328. one may suspend the default launch of the packet driver with the -l option
  329. (see COMMAND FORMAT).  If automatic launching is disabled, SLIPDIAL will
  330. instead print the command that should be typed to launch the packet driver.
  331. If the command is used alone, the SLIP8250 packet driver is launched
  332. with default parameters of:
  333.  
  334.      SLIP8250 0x60 -h SLIP 4 0x3f8 9600 1500
  335.  
  336.  
  337. COMMUNICATIONS
  338.  
  339.  
  340. Regular (non-SLIP) networking is accomplished in a very straightforward
  341. manner.  Tools such as the Telnet program (TELBIN.EXE) or POPMAIL
  342. need to send signals over the TCP/IP network.  The signals get
  343. from your Telnet program to the network connection on the back of your
  344. computer by way of a "packet driver".
  345.  
  346. A packet driver is a small program which remains in memory and accepts data
  347. (called "packets") from a Telnet or POPMAIL or some other program and sends
  348. it to the network connector on your machine (such as a networking card).
  349. Since different companies make different networking cards, there are
  350. different packet driver programs for each kind of networking card.
  351.  
  352. Here is a simple diagram of what takes place.  Arrows mark the direction
  353. of data flow
  354.  
  355. [Keyboard] -> [Telnet       <-> [Packet  <-> [Network    <-> [Network]
  356. {Screen}   <-  or POPMAIL]      driver]      connection]
  357.  
  358. The packet driver for SLIP differs only slightly -- instead of sending
  359. the information to a network connector (like an Ethernet card installed in
  360. the machine), it sends the information to the serial port.
  361.  
  362. [Telnet       <-> [Packet  <-> [Serial  <-> [Your   <-> [SLIP   <-> [Network]
  363.  or POPMAIL]      driver]      port  ]      Modem]      Modem]
  364.  
  365. The utility program such as Telnet or POPMAIL does not see any difference:
  366. after all, these programs talk only to the packet driver.
  367.  
  368. What utility programs need is their IP address, and they can get it one
  369. of two ways.  The first, traditional, method is to read the IP address
  370. out of the CONFIG.TEL file or other configuration file.  This is fine for
  371. the normal case of a computer connected permanently to a network, with
  372. a static address.
  373.  
  374. Recognizing that this is not always the case, BOOTP addressing was
  375. developed.  BOOTP allows a program such as Telnet to ask "What is my
  376. IP address?", and a BOOTP server program on a central machine can check
  377. and respond with the IP address.  This dynamic method of IP addressing
  378. works well for SLIP, where you can get a different IP address each time
  379. you connect.
  380.  
  381. However, in order to use BOOTP your network administrators must have set up
  382. a "BOOTP server" to watch the network and respond to any "What is my IP
  383. address?" requests it may detect.
  384.  
  385. Depending on whether or not you have a BOOTP server for your network, the
  386. CONFIGURATION STATE will involve one or two steps (cf CONFIGURATION STATE).
  387.  
  388. If you do not know, it is usually safe to assume you do NOT have BOOTP.
  389.  
  390.  
  391.  
  392. SECURITY
  393.  
  394.  
  395. If you have access to a SLIP server, it's possible that the service is
  396. secured with TACACS (Terminal Access Control and Authority Control System)
  397. or a similar service.  Most of these work by requesting a username and
  398. password after the initial connection is made, before the SLIP service
  399. is requested.
  400.  
  401. The username and password can be checked against the password file of a
  402. machine where you already have an account.
  403.  
  404. For example, let's suppose your account WWWWWWW is on a machine with TCP/IP
  405. name XX.YY.ZZ, and you are at home attempting to employ SLIPDIAL.  You
  406. dial in to your SLIP server (NOT machine XX.YY.ZZ), and encounter the
  407. "Username:" prompt.  You would type WWWWWW@XX.YY.ZZ and for the password
  408. would give your password on that machine.
  409.  
  410. The TACACS system will check with machine XX.YY.ZZ that your username and
  411. password are correct, and allow you to use the SLIP service.  Other
  412. services (TACACS is by far the most popular) may be a simple pre-registry
  413. of validated names, and not requre the '@XX.YY.ZZ' specificiation.
  414.  
  415. (Note that in order for TACACS to check your password on your machine,
  416. the system operator for XX.YY.ZZ will have to have installed a piece of
  417. TACACS software.  If you're not sure whether your machine is running
  418. the TACACS client, check with your system operator.  She or he can then
  419. contact slip@boombox.micro.umn.edu for assistance in obtaining and setting
  420. up this fairly simple program.)
  421.  
  422. The 'USER' script command can be used to respond to security requests.
  423.  
  424. The USER command has an optional parameter of your name in the form
  425. WWWWWW@XX.YY.ZZ.  You can place this information into DEFAULT.SLP so that
  426. you needn't retype it every time.  If you wish to log in under a different
  427. name, the command-line parameter -u will override the script information.
  428.  
  429. When the USER command is encountered in the script, you will be asked for
  430. your user name (if this information has not been provided as a parameter),
  431. and then for your password.  Your password will be blanked as you type
  432. to prevent it being read by others.  You cannot save your password in the
  433. script.  Since your password is blanked, you will be asked for it twice:
  434. the second entry must match the first, or you will need to try again.
  435. This process ensures that you type your password correctly.  Otherwise
  436. you might go through the entire process of calling and connecting, only
  437. to have SLIPDIAL fail on a bad password caused by a simple typo.
  438.  
  439. This needs to take place BEFORE the Username is requested by the TACACS
  440. server, and ideally can be one of the first lines of the script.  This
  441. information is held in memory.
  442.  
  443. The SEND command has four special characters, two of which are the '$'
  444. and '%' characters.  When the SEND command encounters a '$', it sends
  445. the value you entered as your Username (WWWWWW@XX.YY.ZZ).  Likewise
  446. the '%' sends the password.
  447.  
  448. Thus a typical script listing for a TACACS-secured SLIP session might read
  449. like this:
  450.  
  451. USER WWWWWW@XX.YY.ZZ
  452.   :
  453.   :
  454. WAITFOR "CONNECT" "BUSY" 40
  455. IF "CONNECT"
  456.   CONNECT
  457.   "Connected"
  458. ELSEIF "BUSY"
  459.   "Line busy."
  460.   HALT
  461. ELSE
  462.   "Could not connect."
  463.   HALT
  464. ENDIF
  465. SEND <
  466. WAITFOR "Username:" 2
  467. IF "Username:"
  468.   "Username requested"
  469.   SEND $<
  470.   WAIT 1
  471. ENDIF
  472. IF Password:
  473.   "Password requested"
  474.   SEND %<
  475.   WAIT 1
  476. ENDIF
  477. SEND slip<
  478. QUIT
  479.  
  480. Note that with this script, there is no ELSE case if Username and Password
  481. are not requested.  This might be useful if you're not sure whether
  482. there is TACACS security or not -- if there is, you'll be able to respond,
  483. if not, you'll only send the string "slip" to start the SLIP session.
  484.  
  485.  
  486. SLIPDISK
  487.  
  488. While SLIPDIAL is a simple utility designed for establishing SLIP
  489. connections, it is of limited use without something to run over the SLIP
  490. connection once it's established.  Therefore, preconfigured versions of
  491. the University of Minnesota CIS' "POPMail" and "Gopher", and NCSA's
  492. "Telnet" and "FTP" have been assembled into a package called SLIPDISK.
  493.  
  494. SLIPDISK is designed to fit SLIPDIAL, POPMail, Gopher and the NCSA programs
  495. all onto one bootable 3.5" 1.44 Meg DOS floppy (with a little room to spare).
  496. This disk is useful for portable computers, especially those lacking a 
  497. hard drive.
  498.  
  499. Additionally, a series of installation disks are available, designed to
  500. install the SLIPDISK contents onto a hard drive, using either 3.5" or 5.25"
  501. high- or low-density floppies.
  502.  
  503. These products are available for Gopher retrieval (or anonymous FTP)
  504. from boombox.micro.umn.edu in the /pub/slipdial directories as follows:
  505.  
  506.      /pub/slipdial/slipdial.zip           -- SLIPDIAL and supporting programs.
  507.      /pub/slipdial/slipdisk/slipdisk.zip  -- SLIPDISK ready to unzip onto a
  508.                                              bootable 3.5" 1.44Meg DOS floppy.
  509.      /pub/slipdial/install/3.5/high       -- contents of these directories
  510.      /pub/slipdial/install/3.5/low           used to build installation disks
  511.      /pub/slipdial/install/5.25/high         for installing SLIPDISK onto
  512.      /pub/slipdial/install/5.25/low          a hard drive.
  513.  
  514.  
  515. COMMAND FORMAT:
  516.  
  517.  
  518.   SLIPDIAL [-a] [-b #] [-c [file]] [-d] [-i #] [-l] [[-n] #] [-p #] [-s file]
  519.  
  520.    -a  Do NOT build MYIP.BAT file when reading ADDRESS.
  521.    -b  Set Baud rate: 300 - 38,400.*
  522.    -c  Select config.tel or other config file.  Turns off default of BOOTP.
  523.        Config.tel should be complete except that the line "myip=" should
  524.        be left blank.  SLIPDIAL will edit this file and place the IP address
  525.        it receives from the server into this file.
  526.    -d  Debug (verbose) mode.  Script lines and results are displayed.
  527.    -i  Select alternate interrupt.*
  528.    -l  Turn off "autolaunch" of packet driver, just print command instead.
  529.    -n  Select alternate phone number.*  A phone number must be specified
  530.        in a script or the command line.
  531.    -p  Select alternate COM port.*
  532.    -s  Select alternate script instead of DEFAULT.SLP
  533.    -u  Enter a user name.*
  534.  
  535. * Setting this option from the command line will override any options set
  536. within the script itself.
  537.  
  538.  
  539.  
  540. EXAMPLES:
  541.  
  542.      SLIPDIAL
  543.  
  544.   Run SLIPDIAL, using the DEFAULT.SLP script file.
  545.   And launch the packet driver
  546.   
  547.      SLIPDIAL -l -n 69600
  548.  
  549.   Run SLIPDIAL, calling 6-9600, without launching the packet driver.
  550.  
  551.      SLIPDIAL 555-1212
  552.  
  553.   Use default values but call this number.
  554.  
  555.      SLIPDIAL -d -c
  556.  
  557.   Turn on debugging, and
  558.   turn off BOOTP, use default file CONFIG.SLP instead,
  559.   this assumes DEFAULT.SLP holds the phone number to call.
  560.  
  561.      SLIPDIAL -p 2 -c CONFIG.TST -s TEST.SLP
  562.  
  563.   Use COM port 2 
  564.   turn off BOOTP (automatic configuration),
  565.   use CONFIG.TST for configuration,
  566.   and run the TEST.SLP script instead of DEFAULT.SLP.
  567.   TEST.SLP must contain the phone number to call since it's not given.  
  568.  
  569.  
  570.  
  571. SCRIPTS
  572.  
  573.  
  574. Scripts are text files containing a list of simple commands
  575. which SLIPDIAL follows in attempting to connect with a remote computer.
  576. The commands are explained below, and the file DEFAULT.SLP is provided.
  577. This script language allows SLIPDIAL the flexibility to connect to a
  578. variety of different SLIP servers.
  579.  
  580.  
  581.  
  582. SCRIPT COMMANDS
  583.  
  584.   #             See the COMMENT command.
  585.  
  586.   "             See the QUOTE command.
  587.  
  588.   <  $          When these four characters appear as part of a SEND
  589.   #  &          command, see the SEND command below.
  590.   
  591.   ADDRESS XX*YY This command prepares SLIPDIAL to determine the
  592.                 IP address returned by the SLIP server.
  593.                 XX corresponds to the string returned by the server after
  594.                 the SLIP request is made, preceding the IP address.  
  595.                 * corresponds to the position of the IP address itself.
  596.                 YY corresponds to the string following the IP address.
  597.                 By this method, you can rigorously determine the IP address
  598.                 from practically any stream of text.  This stream 
  599.                 can include newlines represented as '\n', so that more
  600.                 than one line of text can be matched.  For example:
  601.  
  602.                 slip-server> slip
  603.                 Entering SLIP mode.
  604.                 Your IP address is 123.45.67.89, MTU 1524 bytes.
  605.  
  606.                 The match-string for this process could be:
  607.                 
  608.                 ADDRESS mode.\nYour IP address is *, MTU
  609.  
  610.                 If your SLIP server employs BOOTP address resolution,
  611.                 this statement is not necessary.
  612.  
  613.                 However, it does have the effect of parsing your IP address
  614.                 out of the server response and displaying it on your screen,
  615.                 which can be helpful when debugging the program.
  616.  
  617.   BAUD R,P,D,S  Set baud rate at communications port.
  618.                 Rate     = 300, 1200, 2400, 4800, 9600, 19200, 38400
  619.                 Parity   = EVEN, ODD, or NONE
  620.                 Databits = 7 or 8
  621.                 Stopbits = 0, 1, or 2
  622.                 Parameters must be specified in order.
  623.                 Only Rate parameter is required, others are optional.
  624.  
  625.   COMMENT (#)   If the first nonwhite character on a line is a pound-sign,
  626.                 the rest of that line is ignored.
  627.  
  628.   CONNECT       Place the program in CONNECTED state.
  629.  
  630.   DTR [on|off]  Turn DTR on or off, or toggle DTR (Data Test Ready).
  631.  
  632.   ELSE          See the IF command.
  633.  
  634.   ENDIF         Ditto.
  635.  
  636.   FLUSH         Dump (ignore) all unread data received thus far.
  637.  
  638.   HALT          Stop script execution immedately.
  639.  
  640.   If "String 1"          Once a token ("String 1", "String 2", etc) has been
  641.       [commands]        matched, the next IF statement will process the set
  642.   [ELSEIF "String 2"]      of commands corresponding to that token.  If no
  643.       [commands]        matching string was encountered the WAITFOR will 
  644.    :                    have timed-out, and the ELSE case will be processed.
  645.   [ELSEIF "String X"]
  646.       [commands]        In order to be processed, the tokens tested for by
  647.   [ELSE]                  the IF and ELSEIF statements must match those in
  648.       [commands]        the WAITFOR commands.  Tokens which do not match 
  649.   ENDIF                 will simply never be processed.
  650.  
  651.                 Not all tokens matched in a WAITFOR command must be tested
  652.                 for in an IF-ELSEIF-ELSE-ENDIF block -- no error would be
  653.                 generated.  Untested matches will be treated as a timeout
  654.                 by the ELSE command.
  655.  
  656.                 IF commands must eventually be closed by an ENDIF.
  657.                 ELSE and ELSEIF statements are optional.
  658.                 ELSEIF statements must have a token parameter
  659.  
  660.                 Once a token is matched, the next IF statement will process
  661.                 the set of commands corresponding to the token.  If no 
  662.                 matching token was received (a timeout), the ELSE case 
  663.                 will be processed.
  664.  
  665.                 WAITFOR-IF statements cannot be nested.
  666.  
  667.                 Tokens cannot yet include returns or \n's.
  668.  
  669.   MESSAGE XXXX  Prints a message to the screen like the quote command ("),
  670.                 but only one line.  More importantly, this message is
  671.                 logged to the SLIPDIAL.LOG file for debugging purposes.
  672.  
  673.   NUMBER ####   Hayes-compatible phone number to call.  Valid characters
  674.                 in this string are digits, the hyphen (-), comma (,) , 
  675.                 and asterisk (*) keys, and the letter "W".
  676.  
  677.   PORT ####     Select COM port (1 through 4).  Ports 3 or 4 not recommended.
  678.  
  679.   QUIT [XXXX]   End-of-script.  Optionally execute XXXX command when
  680.                 program terminates.  Useful for executing packet drivers
  681.                 other than the default packet driver or default parameters.
  682.  
  683.   QUOTE (")     If the first nonwhite character on a line is a double-quote,
  684.                 everything between this and the next double-quote will be
  685.                 printed to the screen.  Allows multi-line screen messages.
  686.                 These messages are NOT logged to the SLIPDIAL.LOG file.
  687.  
  688.   SEND XXXX     Send the string XXXX out the comm port;
  689.                 '<' in the string is translated into a return.
  690.                 '#' is translated to the phone number to call (see Number).
  691.                 '$' is translated to the user name entered with USER.
  692.                 '%' is replaced by the password solicited at runtime by USER.
  693.  
  694.   TIMEOUT ####  Reset maximum time to wait for a character before quitting.
  695.  
  696.   USER XXXXX    User name for security screening.  Password will be solicited
  697.                 when the program runs.  When sending, the user name will be
  698.                 substituted for a '$' symbol in the SEND command,
  699.                 the password will be substituted for the '%' symbol
  700.  
  701.   WAIT ####     Pause and collect data before progressing.
  702.                 Usually follows a SEND to allow time for a response.
  703.  
  704.   WAITFOR "String 1" "String 2"..."String X" ##
  705.                 "String1", etc are arbitrary strings (tokens) which may 
  706.                 contain spaces.  The WAITFOR command will wait for the
  707.                 any token in its list until ## seconds have passed or a
  708.                 match has been made.  
  709.  
  710.                 WAITFOR will return TRUE as soon as any one of the tokens is
  711.                 matched.  WAITFOR will return FALSE if the time specified by
  712.                 the last entry, a number, passes without a match.
  713.  
  714.                 This command is used in conjunction with the IF command
  715.                 in order to match incoming data.
  716.  
  717.   XECUTE XXX    Execute the DOS command XXXX immediately, and return to
  718.                 SLIPDIAL.
  719.  
  720.   
  721. Appendixes A and B are exerpts from the X.00 Users Manual, copyright 1990 
  722. by Raymond L. Gwinn and used here by permission.  For the full text of
  723. this manual and the full X00 package including all utilities and
  724. documentation, download the package
  725.  
  726.    x00v125.zip
  727.  
  728. from
  729.  
  730.    boombox.micro.umn.edu
  731.  
  732. in the 
  733.  
  734.    /pub/slipdial/x00
  735.  
  736. directory.
  737.  
  738.  
  739. APPENDIX A:  COMMAND LINE OPTIONS
  740.  
  741.           The  command line options are  included in the  command line that
  742.           invokes X00.  In several  cases only the first 1 or  2 characters
  743.           of the option need be entered.  In other cases, the entire option
  744.           name  must  be  spelled out.    Unless  otherwise  stated in  the
  745.           following descriptions,  the entire  option name must  be spelled
  746.           out.  The parameters are given one after another on the same line
  747.           and in any order.  The length of the command line is limited only
  748.           by DOS.
  749.  
  750.     Specifying number of ports
  751.  
  752.           If a  single  decimal number  is  in  the X00  command  line,  it
  753.           specifies  the number  of  ports that  X00  is to  simultaneously
  754.           support.   The default is  one port.   The maximum  value of  the
  755.           number of ports is 4 for non PS/2 systems and 8 for PS/2 systems.
  756.           If you  desire to use more than 4 ports  on a non PS/2, each port
  757.           address must  be specified (see mapping  port assignments below).
  758.           Input  and output  buffers are  allocated for  each of  the ports
  759.           specified.  Examples of usage are:
  760.  
  761.                When X00 is loaded as a Device Driver
  762.                     DEVICE=X00.SYS 3
  763.                     DEVICE=X00.SYS 8
  764.  
  765.                When X00 is loaded as a TSR
  766.                     X00 3
  767.                     X00 8
  768.  
  769.     B option, Locking Baud, Data, Parity and Stop bits
  770.  
  771.           Normally, the  application program sets  the baud rate  and other
  772.           parameters  controlling the  serial  I/O hardware.   Some  modems
  773.           provide  better  performance  when  the  communications  from the
  774.           computer to modem is constant (Locked).  That is, the computer to
  775.           modem speed is not the same as the modem to modem speed.  If this
  776.           option  is   used,  the  modem  must   support  RTS/CTS  hardware
  777.           handshaking and the feature must be enabled on the modem.
  778.  
  779.           The B command  line option  requires 2 parameters  and allows  an
  780.           optional  third parameter.  The  option is specified  in the form
  781.           B,PORTn,BAUD  RATE,PARITY.  You  will most  likely never  want to
  782.           lock the parity, data and stop bits.  Examples of usage are:
  783.  
  784.                When X00 is loaded as a Device Driver
  785.                     DEVICE=X00.SYS B,0,2400 B,1,19200 or
  786.                     DEVICE=X00.SYS B,1,19200,8N1
  787.  
  788.                When X00 is loaded as a TSR
  789.                     X00 B,0,2400 B,0,19200 or
  790.                     X00 B,1,19200,8N1
  791.  
  792.           Valid locked baud rates are: 75, 110, 135.5, 150, 300, 600, 1200,
  793.           1800, 2000,  2400, 3600, 4800,  7200, 9600, 19200,  28800, 38400,
  794.           57600, and 115200.
  795.  
  796.           I can  think of few conditions  where it is necessary  to use the
  797.           optional  third  parameter of  the B  command  line option.   The
  798.           optional  third parameter is made up of 3 characters that specify
  799.           the  locked setting for data  bits per character,  parity bit and
  800.           stop bit(s) in  that order.  The optional  third parameter can be
  801.           made up of  any combination  of the following  first, second  and
  802.           third characters.
  803.  
  804.                     First     Second         Third
  805.                     5         N = None       1
  806.                     6         E = Even       2
  807.                     7         O = Odd
  808.                     8         M = Mark (always 1)
  809.                               S = Space (always 0)
  810.  
  811.  
  812.           The first  character  specifies  the  number  of  data  bits  per
  813.           character,  the second  character specifies  the handling  of the
  814.           parity bit and the  third character specifies the number  of stop
  815.           bits.   When 5 data bits and  2 stop bits (eg 5N2) are specified,
  816.           the  number of stop bits will actually  be 1.5.  As stated above,
  817.           locking of the parity etc, is not advisable.
  818.  
  819.           Anytime an application program attempts to program the baud rate,
  820.           parity etc, through X00, the locked values will be substituted.
  821.  
  822.     Eliminate
  823.  
  824.           Normally,  when X00 is loaded a copyright notice is displayed for
  825.           5 seconds.  Using the eliminate  option will disable the 5 second
  826.           display  of the copyright  notice.  Only the  first letter (E) is
  827.           required to invoke this option.  Examples of usage are:
  828.  
  829.                When X00 is loaded as a Device Driver:
  830.                     DEVICE=X00.SYS ELIMINATE or
  831.                     DEVICE=X00.SYS E
  832.  
  833.                When X00 is loaded as a TSR
  834.                     X00 ELIMINATE or
  835.                     X00 E
  836.  
  837.     Defer
  838.  
  839.           The Defer option  creates problems  on most systems.   The  Defer
  840.           option should be avoided by most users.  X00 must  use several of
  841.           the  80x86 interrupts.  Normally,  X00 will hook  itself into the
  842.           80x86 interrupts when it is executed.  The Defer option tells X00
  843.           to  postpone hooking  into some  interrupts until  an XU  CAPTURE
  844.           command  is  executed.    If  the defer  option  is  used  and  a
  845.           subsequent  XU  CAPTURE  is  not  issued,  X00  may not  function
  846.           correctly.  Additionally,  the XU CAPTURE must be  executed prior
  847.           to  executing  a multitasker  like DESQview.    Only the  first 2
  848.           letters (DE) need  to used to specify  this option.   Examples of
  849.           usage are:
  850.  
  851.                When X00 is loaded as a Device Driver
  852.                     DEVICE=X00.SYS DEFER or
  853.                     DEVICE=X00.SYS DE
  854.  
  855.                When X00 is loaded as a TSR
  856.                     X00 DEFER or
  857.                     X00 DE
  858.  
  859.           The  default for  Defer is  off.   That is,  X00 will  by default
  860.           immediately hook into all necessary 80x86 interrupt vectors.
  861.  
  862.     DV
  863.  
  864.           The  DV command  line option is  only of interest  to those using
  865.           DESQview.   The  default for  this option  is off.   When  on (DV
  866.           specified  in the  command line),  X00 will  make DESQview  Pause
  867.           calls when it seems that  the application program is idle.   This
  868.           may make  time available for other  tasks to use.   Refer to your
  869.           DESQview manuals for details about the DESQview pause command.
  870.  
  871.           If you are  using DESQview, try  the DV option.   If it does  not
  872.           adversely affect your system, leave it enabled (on).  Examples of
  873.           usage are:
  874.  
  875.                When X00 is loaded as a Device Driver
  876.                     DEVICE=X00.SYS DV
  877.  
  878.                When X00 is loaded as a TSR
  879.                     X00 DV
  880.  
  881.     FIFO
  882.  
  883.           Only the first  letter of the command  (F) is required to  invoke
  884.           this option.  Some of the serial I/O hardware  devices have First
  885.           In First Out (FIFO) buffers.  This command line option is used to
  886.           specify the  number of characters that X00 can load into the FIFO
  887.           during  a single  transmit  interrupt.   In  general this  number
  888.           should be set  the size of the  FIFO minus 1.   For example,  the
  889.           popular 16550A has a 16  byte FIFO on both transmit and  received
  890.           data.  Thus, if this option is used, I suggest the value of 15 be
  891.           used for the 16550A.  Examples of usage are:
  892.  
  893.                When X00 is loaded as a Device Driver
  894.                     DEVICE=X00.SYS FIFO=10
  895.                     DEVICE=X00.SYS F=15
  896.  
  897.                When X00 is loaded as a TSR
  898.                     X00 FIFO=15
  899.                     X00 F=8
  900.  
  901.           The size of the receive FIFO is always set to the maximum by X00.
  902.  
  903.     NOFIFO
  904.  
  905.           This command line option is used to completely disable the use of
  906.           hardware FIFOs.  Examples of usage are:
  907.  
  908.                When X00 is loaded as a Device Driver
  909.                     DEVICE=X00.SYS NOFIFO
  910.  
  911.                When X00 is loaded as a TSR
  912.                     X00 NOFIFO
  913.  
  914.     NOPOST
  915.  
  916.           Normally,  when X00 is executed,  it will alter  the COM1 through
  917.           COM4 hardware port addresses  in BIOS RAM to match  the addresses
  918.           being used by X00.  By doing so, many DOOR type programs that use
  919.           INT  14h  for  their serial  I/O  will  work  correctly with  X00
  920.           installed.   This option (NOPOST) instructs X00 to leave the BIOS
  921.           RAM unchanged.  Examples of usage are:
  922.  
  923.                When X00 is loaded as a Device Driver
  924.                     DEVICE=X00.SYS NOPOST
  925.  
  926.                When X00 is loaded as a TSR
  927.                     X00 NOPOST
  928.  
  929.     SLOWCPU
  930.  
  931.           This command line option  is provided for those using  slower PCs
  932.           and those using software  that executes large amounts of  code on
  933.           an interrupt  level (such  as the timer  tick).  When  SLOWCPU is
  934.           specified,  X00 will make  the serial ports  the highest priority
  935.           interrupt.     This  feature  allows   (most)  4.77  mhz  PCs  to
  936.           receive/transmit at full  speed.  This option  may cause problems
  937.           in  some  environments.    Most  protected  mode  programs,  like
  938.           DESQview, will not  allow the  priority of the  interrupts to  be
  939.           changed.
  940.  
  941.                When X00 is loaded as a Device Driver
  942.                     DEVICE=X00.SYS SLOWCPU
  943.  
  944.                When X00 is loaded as a TSR
  945.                     X00 SLOWCPU
  946.  
  947.     R, Set Receive Buffer Size
  948.  
  949.           The R command line option allows the user to set the  size of the
  950.           receive buffer.   The default size  of the receive buffer  is 512
  951.           bytes.   The size  of the  buffer must  be a power  of 2.   Valid
  952.           buffer sizes are:  256, 512,  1024, 2048, 4096,  8192, 16384  and
  953.           32768.   If an invalid buffer  size is specified, the  next lower
  954.           correct buffer size is used.
  955.  
  956.           Many users needlessly set  the size of the receive  (or transmit)
  957.           buffer too large.  Examples of usage are:
  958.  
  959.                When X00 is loaded as a Device Driver
  960.                     DEVICE=X00.SYS R=1024
  961.                     DEVICE=X00.SYS R=2048
  962.  
  963.                When X00 is loaded as a TSR
  964.                     X00 R=1024
  965.                     X00 R=2048
  966.  
  967.  
  968.     T, Set Transmit Buffer Size
  969.  
  970.           This option is identical to the R command line option (see above)
  971.           except it sets the size of the transmit buffer.
  972.  
  973.  
  974.     VP or Master Interrupt Enable
  975.  
  976.           VP stands for Vector Port which  is not a very good name for  the
  977.           option.  Some multiple port serial I/O cards default  to only two
  978.           ports enabled when power is turned on.  A specified value must be
  979.           written to an  I/O port  to enable the  additional serial  ports.
  980.           Simply stated the VP  command line option says to write the given
  981.           value to the given port.  Examples of usage are:
  982.  
  983.                When X00 is loaded as a Device Driver
  984.                     DEVICE=X00.SYS VP=03FF,80
  985.  
  986.                When X00 is loaded as a TSR
  987.                     X00 VP=3FF,80
  988.  
  989.           Both  of the above  examples in effect  says, write the  value 80
  990.           (hex) the I/O port at 3FF.
  991.  
  992.  
  993.  
  994.     Mapping port assignments
  995.  
  996.           This  is the most complicated command line option for many users.
  997.           By default,  X00 maps up to  8 serial I/O ports  (PORTS 0 through
  998.           7).  X00 will (attempt to) determine the hardware architecture on
  999.           which  it is  being executed.   If  a PS/2  is detected  then the
  1000.           default Serial I/O  port addresses will be set to  match the PS/2
  1001.           (see Appendix .   If X00  detects that the  system is not a  PS/2
  1002.           type system, then the default port addresses are as follows:  1 -
  1003.           Standard  addresses for COM1 and  COM2, 2 -  The defacto standard
  1004.           for COM3  and COM4,  and nothing for  COM5 through COM8  (ports 4
  1005.           through 7).
  1006.  
  1007.           Port mapping is necessary if your hardware configuration does not
  1008.           match the PS/2 or  defacto standard for  non PS/2 systems.   COM1
  1009.           and COM2  are the  same for the  PC, XT,  AT and PS/2.   However,
  1010.           hardware  specifications for COM3  through COM8  became available
  1011.           only when IBM released the PS/2.
  1012.  
  1013.           Many  multiple  serial port  cards  are  available for  pre  PS/2
  1014.           systems that use a defacto standard.  The most common assignments
  1015.           that I have  seen for COM3 and COM4 are: COM3 at port address 3E8
  1016.           using  IRQ 3.  COM4  at port address 2E8 using  IRQ 4.  Above the
  1017.           fourth port,  I have not  observed anything resembling  a defacto
  1018.           standard.
  1019.  
  1020.           X00 will  support almost any serial  I/O card.   However, in most
  1021.           cases,  port mapping  is required  for anything  beyond  COM1 and
  1022.           COM2.
  1023.  
  1024.           Mapping port assignments uses two basic forms.  They are:
  1025.                PORTn=COMn,IRQn
  1026.                PORTn=HEXADDRESS,IRQn
  1027.  
  1028.           Where:
  1029.                PORTn is the X00 port number and must be 0 through 7.
  1030.  
  1031.                COMn is a standard DOS port and must be COM1 through COM8.
  1032.  
  1033.                IRQn is the IRQ use by the serial port and must be IRQ0
  1034.                through IRQ15.
  1035.  
  1036.                HEXADDRESS is a hexadecimal I/O port address that addresses
  1037.                the serial I/O device.
  1038.  
  1039.           In both basic forms, the IRQn is optional.  X00 defaults all IRQn
  1040.           to IRQ3  except COM1 which  defaults to IRQ4.   Examples of usage
  1041.           are:
  1042.  
  1043.                When X00 is loaded as a Device Driver
  1044.                     DEVICE=X00.SYS 0=COM4
  1045.                     DEVICE=X00.SYS 0=COM4,IRQ5
  1046.                     DEVICE=X00.SYS 0=2E8,IRQ3
  1047.                     DEVICE=X00.SYS 2=2E8
  1048.  
  1049.                When X00 is loaded as a TSR
  1050.                     X00 0=COM4
  1051.                     X00 0=COM4,IRQ5
  1052.                     X00 0=2E8,IRQ3
  1053.                     X00 2=2E8
  1054.  
  1055.  
  1056.     Un-installing X00 (only when running as TSR, not as device driver)
  1057.  
  1058.           When X00 is installed as a TSR, it can be  un-installed by simply
  1059.           executing X00 with no command line parameters.  If you wish to be
  1060.           sure that you do not accidently un-install X00, always execute it
  1061.           with a harmless parameter like X00 E.
  1062.                                     
  1063.                                     
  1064. APPENDIX B  Multi-Tasking
  1065.  
  1066.           By  far, DESQview seems to be the multi-tasking software that X00
  1067.           is  most  often used  with.    At the  time  of  this writing,  I
  1068.           personally use DESQview to run a multi line BBS.
  1069.  
  1070.           I believe it is best to load X00 before the multi-tasking program
  1071.           and  to load  it as a  device driver.   This  enables all windows
  1072.           (tasks)  access to X00.   Loading X00 first  also allows multiple
  1073.           windows to share the same IRQ.
  1074.  
  1075.           If  you have loaded X00 prior to  DESQview, you need to configure
  1076.           the window  for no  communications.   That is,  answer NO  to the
  1077.           configuration   questions,   Uses  Serial   Ports   and  Optimize
  1078.           communications.     I  also  suggest  that   you  enable  printer
  1079.           management within the window.  Enabling printer management allows
  1080.           a  remote drop  to DOS  to work  on many  systems.   The Optimize
  1081.           communications  option and  the  Printer  management  option  are
  1082.           established with  the DESQview  SETUP program.   The  Uses serial
  1083.           ports  (Y,N,1,2) option is in  the "Change a  Program" portion of
  1084.           window configuration.
  1085.  
  1086.           In  several  cases  I  have  gained  a  significant  increase  in
  1087.           performance by turning X00 on prior  to executing a program.  Two
  1088.           notable cases are GATEWAY and DOORWAY.  I used XU to turn X00 on.
  1089.           For example, XU PORT:n:ON just before invoking DOORWAY or GATEWAY
  1090.           produced significantly better input and output from the programs.
  1091.           Depending  on your environment, an  XU PORT:n:OFF may  have to be
  1092.           issued after  the program terminates.   Also note that the  n for
  1093.           PORTn is 1 less than the n in GATEn and COMn.
  1094.  
  1095.           The communications windows seem  to work better if the  ticks for
  1096.           the  foreground and  background  are set  relatively  low.   Most
  1097.           people that  I have talked to use 2 ticks for both foreground and
  1098.           background.  Only experimentation will determine the best setting
  1099.           for your system.
  1100.  
  1101.           If you do  not wish to share  an IRQ, you can  load X00 as a  TSR
  1102.           inside  a DESQview window.  When loaded inside a DESQview window,
  1103.           X00 is  only available to programs in that window.  X00 should be
  1104.           configured  to  support   only  1  serial  port  and  you  should
  1105.           specifically name the port that X00 will use in the command line.
  1106.           For example use X00 0=COM1,  instead of X00 1 or just  plain X00.
  1107.           Identifying the specific  serial port  to be used  in the  window
  1108.           eliminates the chance that X00 will interfere with another active
  1109.           window.
  1110.  
  1111.           I strongly recommend that you use the 16550A (or later)  SIO chip
  1112.           if you are using a multi-tasking system of any kind.
  1113.  
  1114.           Most programs written to use BIOS INT 14h will work directly with
  1115.           X00's enhanced services.  You should try turning  X00 on using an
  1116.           XU  PORT:n:ON  command  just  prior  to  executing  the  program.
  1117.           Programs  that  do not  have their  own  interrupt I/O  will most
  1118.           likely give better performance.
  1119.  
  1120.